I had two contacts at the same company that sent me the original broken message send me two new emails with attached files.
One has the attachment. In the other it is "missing" (i.e. still there but ignored by the MUA). In fact this is very easily reproducible. Both messages came from exactly the same server (Exchange 5.5 SP4).
The MIME structure of both is quite similar save for one factor (though there are perhaps telling differences):
The message which came through showing an attachment had no part containing an image referenced by cid: in the HTML version of the message.
The message where the attachment was invisible did have a part containing an image referenced by cid: in the HTML version.
Comparison follows:
Attachment visible | Attachment not visible |
Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01C285A7.DC8D0FE0" ------_=_NextPart_000_01C285A7.DC8D0FE0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C285A7.DC8D0FE0" ------_=_NextPart_001_01C285A7.DC8D0FE0 Content-Type: text/plain [snip text version] ------_=_NextPart_001_01C285A7.DC8D0FE0 Content-Type: text/html [snip HTML version] ------_=_NextPart_001_01C285A7.DC8D0FE0-- ------_=_NextPart_000_01C285A7.DC8D0FE0 Content-Type: image/gif; name="scoobutB.gif" Content-Disposition: attachment; filename="scoobutB.gif" Content-Transfer-Encoding: base64 [snip attachment NOT missing] ------_=_NextPart_000_01C285A7.DC8D0FE0-- | Content-Type: multipart/related; boundary="----_=_NextPart_000_01C285A7.B3371780"; type="multipart/alternative" ------_=_NextPart_000_01C285A7.B3371780 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C285A7.B3371780" ------_=_NextPart_001_01C285A7.B3371780 Content-Type: text/plain [snip text version] ------_=_NextPart_001_01C285A7.B3371780 Content-Transfer-Encoding: quoted-printable Content-Type: text/html [snip HTML version] ------_=_NextPart_001_01C285A7.B3371780-- ------_=_NextPart_000_01C285A7.B3371780 Content-Type: image/gif; name="scoobutC.gif" Content-Disposition: attachment; filename="scoobutC.gif" Content-Transfer-Encoding: base64 [snip missing attachment] ------_=_NextPart_000_01C285A7.B3371780 Content-Type: image/gif; name="image001.gif" Content-Disposition: attachment; filename="image001.gif" Content-ID: <image001.gif@01C285A7.A0A3FED0> Content-Transfer-Encoding: base64 [snip logo referenced by cid: in HTML version] ------_=_NextPart_000_01C285A7.B3371780-- |